<?xml version="1.0"?>
<!--
  ~ Copyright 2004-2012 ICEsoft Technologies Canada Corp.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the
  ~ License. You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an "AS
  ~ IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
  ~ express or implied. See the License for the specific language
  ~ governing permissions and limitations under the License.
  -->

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:ace="http://www.icefaces.org/icefaces/components" 
    xmlns:ice="http://www.icesoft.com/icefaces/component" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    template="/resources/templates/content-template.xhtml">
    
    <ui:param name="title" value="#{msgs[tabDynamic.title]}"/>
    <ui:param name="description" value="#{msgs[tabDynamic.description]}"/>
    <ui:param name="resourceValue" value="#{tabDynamic.exampleResource}"/>
    
    <ui:param name="wikiResources" value="#{compatComponentsResources.wikiResources}"/>
    <ui:param name="tldResources" value="#{compatComponentsResources.tldResources}"/>
    
    <ui:define name="example">
        <h:form>
            <h:panelGrid columns="3">
                <h:outputLabel for="labelIn" value="Tab Label:"/>
                <h:inputText id="labelIn" value="#{tabDynamic.toAdd.label}"
                             required="true" size="15" maxlength="15">
                     <f:validateLength minimum="1" maximum="15"/>
                </h:inputText>
                <h:message for="labelIn"/>
                
                <h:outputLabel for="contentIn" value="Tab Content:"/>
                <h:inputTextarea id="contentIn" value="#{tabDynamic.toAdd.content}"
                                 required="true" size="15" maxlength="1024"
                                 rows="3" cols="30">
                     <f:validateLength minimum="1" maximum="1024"/>
                </h:inputTextarea>
                <h:message for="contentIn"/>
            </h:panelGrid>
            
            <h:commandButton value="Add New Tab"
                             actionListener="#{tabDynamic.addTab}"/>
            <h:commandButton value="Restore Base Tabs"
                             actionListener="#{tabDynamic.restoreDefault}"
                             immediate="true"/>
        </h:form>
    
        <h:form>
            <ice:panelTabSet value="#{tabDynamic.tabList}"
                             var="currentTab"
                             varStatus="status">
                 <ice:panelTab title="#{currentTab.label}">
                    <f:facet name="label">
                        <h:panelGrid columns="2">
                            <h:outputText value="#{currentTab.label}"/>
                            <h:commandButton image="resources/css/images/popup-close.png"
                                             action="#{tabDynamic.removeTab}">
                                 <f:setPropertyActionListener target="#{tabDynamic.toRemove}"
                                                              value="#{status.index}"/>
                            </h:commandButton>
                        </h:panelGrid>
                    </f:facet>
                    #{currentTab.content}
                 </ice:panelTab>
            </ice:panelTabSet>
        </h:form>
    </ui:define>
</ui:composition>
